package com.example.distillapplication.data.viewmodel;

import androidx.lifecycle.ViewModel;

import com.example.distillapplication.data.entity.OperationLog;
import com.example.distillapplication.data.entity.UserInfo;
import com.example.distillapplication.data.viewmodel.base.UnPeekLiveData;

public class InstrumentStateViewModel extends ViewModel {
    //布尔类型的全局参数
    public final UnPeekLiveData<Boolean> instrumentSelfTest = new UnPeekLiveData<>();//仪器自检是否成功
    public final UnPeekLiveData<Boolean> securityDoorClosed = new UnPeekLiveData<>();//安全门是否关闭
    public final UnPeekLiveData<Boolean> workSwitchState = new UnPeekLiveData<>();//工作开关的状态
    public final UnPeekLiveData<Boolean> waterLevelSwitchState = new UnPeekLiveData<>();//水位开关的状态
    public final UnPeekLiveData<Boolean> heatSwitchState = new UnPeekLiveData<>();//加热开关的状态（FE05 0000）
    public final UnPeekLiveData<Boolean> refrigerationSwitchState = new UnPeekLiveData<>();//制冷开关的状态（FE05 0001）
    public final UnPeekLiveData<Boolean> valveSwitchState = new UnPeekLiveData<>();//开阀开关的状态（FE05 0002）
    public final UnPeekLiveData<Boolean> sodaSwitchState = new UnPeekLiveData<>();//加碱开关的状态（FE05 0004）
    public final UnPeekLiveData<Boolean> lightSwitchState = new UnPeekLiveData<>();//开灯开关的状态（FE05 0005）
    public final UnPeekLiveData<Boolean> addWaterSwitchState = new UnPeekLiveData<>();//加水开关的状态（FE05 0006）
    public final UnPeekLiveData<Boolean> addCoolantSwitchState = new UnPeekLiveData<>();//加制冷液开关的状态（FE05 0007）


    //double类型全局参数
    public final UnPeekLiveData<Integer> waterLevel = new UnPeekLiveData<>();//水位值
    public final UnPeekLiveData<Integer> steamVolume = new UnPeekLiveData<>();//蒸汽量
    public final UnPeekLiveData<Integer> temperature = new UnPeekLiveData<>();//温度值

    //Int
    public final UnPeekLiveData<Integer> toMaxMinWaterLevel = new UnPeekLiveData<>();//水位上下限报警,0->正常，1->下限，2->上限

    //Entity
    public final UnPeekLiveData<UserInfo> userInfoUnPeekLiveData = new UnPeekLiveData<>();//用户信息
    public final UnPeekLiveData<OperationLog> operationLogUnPeekLiveData = new UnPeekLiveData<>();//操作信息

    //运行期间的参数
    public final UnPeekLiveData<Integer> targetTime = new UnPeekLiveData<>();//剩余蒸馏时间
}
